export function isvalidPhone(phone) {
  const isPhone = /^1([38][0-9]|4[014-9]|[59][0-35-9]|6[2567]|7[0-8])\d{8}$/ //11位合法手机号码
  if (isPhone.test(phone)) {
    return true
  } else {
    return false
  }
}

/**
   * @describe 校验身份证号
   * @param {string}
   * @returns {Boolean}
*/
export const validIdCard = async (_rule, idCard) => {
  const reg = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;
  if (!idCard) {
    return Promise.reject("身份证号不能为空");
  } else if (!reg.test(idCard)) {
    return Promise.reject("请输入正确的身份证号");
  } else {
    return Promise.resolve();
  }
}

/**
   * @describe 校验手机号
   * @param {string}
   * @returns {Boolean}
*/
export const validPhone = async (_rule, phone) => {
  const reg = /^1([38][0-9]|4[014-9]|[59][0-35-9]|6[2567]|7[0-8])\d{8}$/ //11位合法手机号码
  if (!phone) {
    return Promise.reject("手机号不能为空");
  } else if (!reg.test(phone)) {
    return Promise.reject("请输入正确的手机号");
  } else {
    return Promise.resolve();
  }
}


/**
   * @param {string} email
   * @returns {Boolean}
   */
export function validEmail(_rule, email) {
  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  if (!email) {
    return Promise.reject("邮箱不能为空");
  } else if (!reg.test(email)) {
    return Promise.reject("请输入正确的邮箱");
  } else {
    return Promise.resolve();
  }
}


/**
   * @param {string} email
   * @returns {Boolean}
   */
export function validStudentEmail(_rule, email) {
  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  if (!_rule) {
    if (reg.test(email) && email.includes('edu.')) {
      return true
    } else {
      return false
    }
  } else {
    if (!email) {
      return Promise.reject("邮箱不能为空");
    } else if (!(reg.test(email) && email.includes('edu.'))) {
      return Promise.reject("请输入正确的学生邮箱");
    } else {
      return Promise.resolve();
    }
  }
}

/**
   * @param {string} email
   * @returns {Boolean}
   */
export function validTelephone(_rule, value) {
  const reg = /0\d{2,3}-\d{7,8}/;
  const regPhone = /^1([38][0-9]|4[014-9]|[59][0-35-9]|6[2567]|7[0-8])\d{8}$/ //11位合法手机号码
  if (!value) {
    return Promise.reject("固定电话不能为空");
  } else if (!reg.test(value) && !regPhone.test(value)) {
    return Promise.reject("请输入正确的固定电话");
  } else {
    return Promise.resolve();
  }
}
